#!/bin/bash
###############################################################################
# @用例ID: 20230528-153522-866888187
# @用例名称: kernel-test
# @用例级别: 3
# @用例标签:
# @用例类型: 功能
###############################################################################
[ -z "$TST_TS_TOPDIR" ] && {
    TST_TS_TOPDIR="$(realpath "$(dirname "$0")/..")"
    export TST_TS_TOPDIR
}
source "${TST_TS_TOPDIR}/tst_common/lib/common.sh" || exit 1
###############################################################################

g_tmpdir="$(mktemp -d)"

tc_setup() {
    msg "this is tc_setup"
    # @预置条件:系统正常运行，且已安装kernel软件包
    assert_true yum install -y kernel
    return 0
}

do_test() {
    msg "this is do_test"

    # @测试步骤:1:查看本系统的kernel版本
    # @预期结果:1:成功输出系统的kernel版本
    assert_true uname -r
    assert_true [ $? -eq 0 ]

    # @测试步骤:2:详细的系统信息，包括内核版本、操作系统版本和硬件信息
    # @预期结果:2:成功输出详细的系统信息，包括内核版本、操作系统版本和硬件信息
    assert_true uname -a 
    assert_true [ $? -eq 0 ]

    # @测试步骤:3:显示当前默认的内核引导配置
    # @预期结果:3:成功输出当前默认的内核引导配置

    assert_true sudo grubby --default-kernel
    assert_true [ $? -eq 0 ]

    # @测试步骤:4:列出已安装的所有内核包
    # @预期结果:4:成功输出已安装的所有内核包
    assert_true rpm -qa | grep kernel
    assert_true [ $? -eq 0 ]

    return 0
}

tc_teardown() {
    msg "this is tc_teardown"
    rm -rfv "$g_tmpdir" || return 1
    return 0
}

###############################################################################
tst_main "$@"
###############################################################################
